package string;
/**String的演示*/
public class StringDemo {
    public static void main(String[] args) {
        /*
        常见面试题
        String s=new String("hello");
        如上语句创建了几个对象：2个
        1)字面量"hello";
        2)new String();
         */

        String s=new String("hello");
        String s1="hello";
        System.out.println(s==s1);//false
        System.out.println(s.equals(s1));//true

        /*
        //"=="规定为表示地址是否相同;
        //使用equals()方法比较两个字符串的内容是否相同;
        String s1="123abc";
        String s2="123abc";
        String s3="123abc";
        System.out.println(s1==s2);//true
        System.out.println(s2==s3);//true
        s1=s1+"!";
        System.out.println(s1==s2);//false

        String s4="123abc";
        //堆中创建123abc字符量对象，并缓存到常量池中
        //编译器在编译时，若发现两个字面量相连，则会直接连接好并将结果保存起来
        //如下语句会被编译为:s5="123abc"
        String s5="123"+"abc";
        System.out.println(s4==s5);//true
        String s6="123";
        String s7=s6+"abc";
        System.out.println(s4==s7);//false
        System.out.println(s4.equals(s7));//true

         */



    }

}
